home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / ewl / ewl_menu_item.h < prev    next >
C/C++ Source or Header  |  2006-01-09  |  2KB  |  62 lines

  1. #ifndef EWL_MENU_ITEM_H
  2. #define EWL_MENU_ITEM_H
  3.  
  4. /**
  5.  * @file ewl_menu_item.h
  6.  * @defgroup Ewl_Menu_Item Menu_Item: The basic menu item
  7.  *
  8.  * @{
  9.  */
  10.  
  11. /**
  12.  * @themekey /menu_item/file
  13.  * @themekey /menu_item/group
  14.  */
  15.  
  16. /**
  17.  * This serves as a basis for all menu related entries. It provides the most
  18.  * basic layout facilities for items in a menu.
  19.  */
  20. typedef struct Ewl_Menu_Item Ewl_Menu_Item;
  21.  
  22. /**
  23.  * @def EWL_MENU_ITEM(mi)
  24.  * Typecasts a pointer to an Ewl_Menu_Item pointer.
  25.  */
  26. #define EWL_MENU_ITEM(mi) ((Ewl_Menu_Item *) mi)
  27.  
  28. /**
  29.  * @struct Ewl_Menu_Item
  30.  * Inherits from Ewl_Box to gain it's layout abilities, places policy on top
  31.  * of the box framework to provide a simple menu layout of icon and label.
  32.  */
  33. struct Ewl_Menu_Item
  34. {
  35.         Ewl_Box         box; /**< Inherit from Ewl_Box */
  36.         Ewl_Widget     *icon; /**< The image in this menu item */
  37.         Ewl_Widget     *text; /**< The text label for this menu item  */
  38.         Ewl_Widget     *inmenu; /**< Set if inside a menu */
  39. };
  40.  
  41. Ewl_Widget    *ewl_menu_item_new(void);
  42. int         ewl_menu_item_init(Ewl_Menu_Item *menu);
  43. const char     *ewl_menu_item_text_get(Ewl_Menu_Item *item);
  44. void          ewl_menu_item_text_set(Ewl_Menu_Item *item, const char *text);
  45. const char    *ewl_menu_item_image_get(Ewl_Menu_Item *item);
  46. void         ewl_menu_item_image_set(Ewl_Menu_Item *item, 
  47.                         const char *image);
  48.  
  49. /*
  50.  * internally used callbacks, override at your risk
  51.  */
  52. void ewl_menu_item_clicked_cb(Ewl_Widget *w, void *ev_data, void *user_data);
  53. void ewl_menu_item_child_show_cb(Ewl_Container *parent, Ewl_Widget *child);
  54. void ewl_menu_item_child_resize_cb(Ewl_Container *parent, Ewl_Widget *child,
  55.                                      int size, Ewl_Orientation o);
  56.  
  57. /**
  58.  * @}
  59.  */
  60. #endif
  61.  
  62.